import sys
import select
import termios
import tty
import copy

def readchar():
	fd = sys.stdin.fileno()
	old_settings = termios.tcgetattr(fd)
	try:
		tty.setraw(sys.stdin.fileno())
		ch = sys.stdin.read(1)
	finally:
		termios.tcsetattr(fd, termios.TCSADRAIN, old_settings)
	return ch


def readkey(getchar_fn=None):
    getchar = getchar_fn or readchar
    c1 = getchar()
    if ord(c1) != 0x1b:
        return c1
    c2 = getchar()
    if ord(c2) != 0x5b:
        return c1
    c3 = getchar()
    return chr(0x10 + ord(c3) - 65)

######################################################################
####################### 数字输入辅助方法 ###########################
######################################################################
# 目标Num类型默认为整型，输出的提示默认为空
def converToNum(content, type=int, default=-1):
    try:
        inputData = type(content)
        return inputData
    except:
        # pass
        return default

######################################################################
####################### 数字输入辅助方法 ###########################
######################################################################
# 目标Num类型默认为整型，输出的提示默认为空
def inputNum(type=int, content=''):
    data = input(content)
    try:
        inputData = type(data)
        return inputData
    except:
        # pass
        return -1

######################################################################
####################### 将val修正在最大值，最小值范围内 #############
######################################################################
def fixValue(val, max, min):
    if(val > max):
        return max
    if(val < min):
        return min
    return val

def checkListEqual(list1, list2):
    tmp1 = copy.deepcopy(list1)
    tmp2 = copy.deepcopy(list2)
    tmp1.sort()
    tmp2.sort()
    res = (tmp1 == tmp2 )
    return res